Complex and Reference Data Types
Complex
The Complex data type is a type consisting of many very specific use cases that for one reason or another cannot simply be represented by the other data types.
Each case is satisfied by its own modifier. Some modifiers require attributes specific to their particular situations, some must store multiple values, and some simply require special validation. As with all data types, if a form has a field with the Complex data type and a particular modifier, that data must be saved to an object field with the Complex data type and that same modifier.
The modifiers include:
- The Address modifier contains an address, formatted on editors as a number of input boxes for street, city, state, etc., though on reports a field with this modifier is displayed as a formatted string. This modifier has the "Localization" property, to specify whether the address is international or for the US.
- The Email and Phone modifiers are used to store email addresses or phone numbers. They appear on editors as simple input text boxes, but the system applies special validation to each to ensure that an entered value is formatted like a proper email address or phone number.
- The Time Period modifier stores a time period, starting from a certain date/time and ending at another date/time. Fields of this modifier can be populated by manually selecting a start and end time or by using the n:time_period() function in Routines. On reports, fields of this type are displayed as a duration.
- The Days of Week and Months of Year modifiers are used to store a set of days in a week or months in a year. On a form or embedded editor, a field of this modifier appears as a series of checkboxes for each day or month, and on a report, such a field appears as a comma separated list of days or months.
- The Number Range modifier is used to store a number range, defined as a minimum and maximum value. When creating a field with this modifier, a user can specify whether a minimum value or maximum value is required; if either is not required and is left empty, the range will simply have no lower bound or upper bound, respectively. The user can also set the "Scale", or number of decimal places shown when the system displays the number range on reports.
Reference
The Reference data type is a direct link to a user, group, or resource. When creating a field with this modifier, a user can define whether the field links to a user, or to a specific type of group or resource. On a form, filter, or embedded editor, fields of this type appear as a drop-down list of all possible users or groups/resources of the specified type.